package com.yuanfeng.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanfeng.business.dto.ShopHelpQueryDTO;
import com.yuanfeng.business.entity.ShopJoinBaseEntity;
import com.yuanfeng.commoms.util.ResponseResult;
import io.seata.core.exception.TransactionException;

import java.util.Map;

/**
 * (ShopJoinBase)
 *
 * @since 2023-05-19 15:35:47
 */
public interface ShopJoinBaseService extends IService<ShopJoinBaseEntity> {
    /**
     * 查询入驻情况
     * @param param
     * @return
     */
    ResponseResult shopJoinAgree(Map<String, Object> param);

    /**
     * 店铺入驻-插入
     * @param param
     * @return
     */
    ResponseResult insertShopJoinBase(Map<String,Object> param) throws TransactionException;

    /**
     * 店铺入驻-更新
     *
     * @param param
     * @return
     */
    ResponseResult updateShopJoinBase(Map<String, Object> param);

    /**
     * 店铺入驻-查询
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinBase(Map<String, Object> param);

    /**
     * 店铺入驻-查询支付凭证
     *
     * @param param
     * @return
     */
    ResponseResult queryPayEvidence(Map<String, Object> param);

    /**
     * 查询店铺帮助信息
     *
     * @param param
     * @return
     */
    ResponseResult queryShopHelp(ShopHelpQueryDTO param);

    /**
     * 校验公司名称是否重复
     *
     * @param param
     * @return
     */
    ResponseResult checkCompanyName(Map<String, Object> param);

    /**
     * 校验手机号是否已注册
     *
     * @param param
     * @return
     */
    ResponseResult checkPhoneNumber(Map<String, Object> param);

    /**
     * 平台-查看店铺信息
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinDetailForPlatform(Map<String,Object> param);

    /**
     * 商家后台-开户银行
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinBaseBankForSeller(Map<String, Object> param);

    /**
     * 商家后台-店铺信息
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinBaseForSeller(Map<String,Object> param);

    /**
     * 商家后台-店铺资质
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinBaseQualiForSeller(Map<String,Object> param);

    /**
     * 平台-审核店铺资质详情
     *
     * @param param
     * @return
     */
    ResponseResult updateShopJoinBaseForSeller(Map<String,Object> param);

    /**
     * 商户后台-修改银行卡信息
     *
     * @param param
     * @return
     */
    ResponseResult updateShopJoinBankInfoForSeller(Map<String,Object> param);

    /**
     * 商户入驻-同意协议
     *
     * @param param
     * @return
     */
    ResponseResult shopAgree(Map<String,Object> param);

    /**
     * 店铺入驻-平台审核
     *
     * @param param
     * @return
     */
    ResponseResult auditShopJoinBase(Map<String, Object> param) throws TransactionException;

    /**
     * 店铺入驻-平台查询详情
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinBaseDetailForPlatform(Map<String, Object> param);

    /**
     * 店铺入驻-平台查询列表
     *
     * @param param
     * @return
     */
    ResponseResult queryShopJoinBaseForPlatform(Map<String, Object> param);
}

